﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/*
 * Smin: Salario Minimo(DF) 
 * VSM : Veces de Salario Minimo
 * SDI: Salario Diario Integrado
 * PV: Prima Vacacional 
 * SD : Salario Diario
 * 
 
 */
namespace AccesoDatos.Manejador
{
    public class Manejador_Formulas
    {
        /*Calcula el monto a descontar de VSM */
        public double calcula_VSM(double Smin, double VSM) 
        {
            double total_vsm;

            total_vsm = ((Smin * VSM) / 2) + 3.75;

            return Math.Round(total_vsm,2);
        }
       
        /*Calcula SDI */
        public double calcula_SDI(double SD, double dias) 
        {
            double SDI;
            double PV = PrimaVacacional(dias, SD)/365;
            double Aguinaldo = Aguinaldo_SDI(SD);

            SDI = SD + Aguinaldo + PV;
            return Math.Round(SDI,2);
        }

        /*Calcula Prima Vacacional*/
        public double PrimaVacacional(double Dias, double SD) 
        {
            double PV;
            PV = Dias * SD * 0.25;
            return Math.Round(PV,2);
        }
     
        /*Aguinaldo para SDI*/
        public double Aguinaldo_SDI(double SD)
        {
            double Aguinaldo;

            Aguinaldo = SD * 15 / 365;

            return Math.Round(Aguinaldo,2);
        }
        
        /*Calcula el monto a descontar del infonavit si la modalidad es porciento 25% */
        public double Porciento(double SD, double dias)
        {
            double porciento;

            double SDI = calcula_SDI(SD, dias);

            porciento = (SDI * 0.25) * 15 + 3.75;

            return Math.Round(porciento,2);               
        }
        
        /*Calcula los dias promedio que le pertenecen a un empleado 
         *  Vacaciones
         *  Aguinaldo 
         *  
         */
        public double calculaDiasPromedio(int diasLey, int diasTrabajados) 
        {
            double diasPromedio;

            diasPromedio = Convert.ToDouble(diasLey) / 365 * diasTrabajados;

            return Math.Round(diasPromedio,2);
        }
     
        /*Calcula el total a pagar segun los dias y el sueldo diario*/
        public double Total(double dias, double sueldoDiario)
        {
            double Total;

            Total = dias * sueldoDiario;

            return Total;
        }

    }
}





